#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifndef BLOCKSORTING_H_
#define BLOCKSORTING_H_

#define BlockSortingC 0
#define BlockSortingD 1

void quickSort (unsigned char *s, int* v,int izquierda, int derecha,int tamanio, int op);
unsigned char obtenerSiguiente(unsigned char *s,int offset,int tamanio,int caracteresSiguientes);
int compararRegistros(unsigned char* s,int offset1,int offset2, int tamanio,int caracteresSiguientes,int op);
void swap(int *o1,int *o2);
unsigned char* obtenerSalida(unsigned char *entrada,int *posiciones,int tamanio);
void codificarBlockSorting(unsigned char* entrada,unsigned char**salida,short int* indice,int tamanho);
void inicializarVectorPunteros(int* entrada, int size);
unsigned char* decodificarBlockSorting(unsigned char*entrada,int indice,int tamanio);
int obtenerFila(int* posiciones,int tamanio);

#endif /* BLOCKSORTING_H_ */
